"""
链接MySQL服务器，执行insert操作
"""

import MySQLdb

no = int(input('编号：'))
name = input('名称：')
loc = input('所在地：')

# 第一步：创建连接对象
conn = MySQLdb.connect(host='localhost', port=3306,
                       user='guest', password='123456',
                       database='hrs', charset='utf8mb4',
                       autocommit=False)
# host主机地址
try:
    # 第二部：通过链接对象获取游标对象
    with conn.cursor() as cursor:

        # 第三步：通过游标对象向数据库服务器发出SQL语句
        affected_rows = cursor.execute(
            'insert into `tb_dept`(`dno`,`dname`,`dloc`)'
            'values(%s, %s, %s)',
            (no, name, loc),
            'update `tb_dept` set `dname`="策划部" where `dno`= 40 ',
            'delete from `tb_dept` where `dno`=%s',
            (no,)
        )
        """
        values({no},{name},{loc})格式化字符串这种做法不好，会很容易被SQL注射攻击，
        %s是安全的占位符，
        """

        if affected_rows == 1:
            print('新增部门成功！')

    # 第四步：通过连接对象提交事务
    conn.commit()
except MySQLdb.MySQLError as err:
    print(err)
    # 第四步：通过连接对象回滚事务
    conn.rollback()

finally:
    # 第五步：关闭连接
    # 数据库可以链接的游标数是有限的用完了之后要及时释放连接
    conn.close()

